﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DTO;
using System.Data.Linq;

namespace DAL
{
    public class DaNhanHieu : dBConnect
    {
        #region "Get all infomation in table mp_NhanHieu............."
        public static List<NhanHieuDto> GetAllNhanHieu()
        {
            List<NhanHieuDto> nhanHieu = new List<NhanHieuDto>();
            var result = from k in db.mp_NhanHieus
                         select new NhanHieuDto(k.ID_NhanHieu, k.TenNhanHieu)
                         {
                             IDNhanHieu = k.ID_NhanHieu,
                             TenNhanHieu = k.TenNhanHieu
                         };
            nhanHieu = result.ToList<NhanHieuDto>();
            return nhanHieu;
        }
        #endregion

        #region "Get one NhanHieu in table mp_NhanHieu............."
        public static List<NhanHieuDto> GetOneNhanHieuByID(NhanHieuDto nhanHieu)
        {
            //List<NhanHieuDto> nhanHieu = new List<NhanHieuDto>();
            var result = from k in db.mp_NhanHieus
                         where (k.ID_NhanHieu == nhanHieu.IDNhanHieu)
                         select new NhanHieuDto(k.ID_NhanHieu, k.TenNhanHieu)
                         {
                             IDNhanHieu = k.ID_NhanHieu,
                             TenNhanHieu = k.TenNhanHieu
                         };
            return result.ToList<NhanHieuDto>();
        }
        #endregion

        #region "Insert, Update for NhanHieu.............."
        public static string mp_NhanHieu_InsertUp(NhanHieuDto nhanHieu)
        {
            mp_NhanHieu o;
            int IdpNhanHieu = nhanHieu.IDNhanHieu;
            if (IdpNhanHieu<1)
            {
                o = new mp_NhanHieu();
            }
            else
            {
                o = db.mp_NhanHieus.Where(j => j.ID_NhanHieu == nhanHieu.IDNhanHieu).SingleOrDefault();
            }
            if (!string.IsNullOrEmpty(nhanHieu.IDNhanHieu.ToString()))
                o.ID_NhanHieu = nhanHieu.IDNhanHieu;
            if (!string.IsNullOrEmpty(nhanHieu.TenNhanHieu))
                o.TenNhanHieu = nhanHieu.TenNhanHieu;

            if (IdpNhanHieu<1)
            {
                db.mp_NhanHieus.InsertOnSubmit(o);
            }
            db.SubmitChanges();
            return o.ID_NhanHieu.ToString();
        }
        #endregion

        #region "Delete one Product..............."
        public static void mp_NhanHieu_Del(NhanHieuDto nhanHieu, bool isPermanent)
        {
            var o = db.mp_NhanHieus.Where(j => j.ID_NhanHieu == nhanHieu.IDNhanHieu).SingleOrDefault();
            if (o != null)
            {
                if (isPermanent)
                    db.mp_NhanHieus.DeleteOnSubmit(o);
                db.SubmitChanges();
            }
        }
        #endregion
    }
}
